Skip to main content

Finne antall personbiler per individ

Eksempelet under viser hvordan man kan telle opp antall personbiler per individ ved hjelp av kommandoen collapse(count) når man står i et kjøretøydatasett, og videre hvordan man kan fordele tallene på diverse demografiske opplysninger gjennom å koble det aggregerte kjøretøydatasettet på et persondatasett med personopplysninger.

For å finne tall for individer som ikke eier et kjøretøy, er det viktig at man bruker et persondatasett (totalpopulasjon) som basis, dvs. at man kobler antallet kjøretøy inn i et persondatasett (og ikke motsatt). Personer som det ikke finnes en link til fra kjøretøydatasettet vil per definisjon være individer som ikke eier et kjøretøy.

 require no.ssb.fdb:32 as db

// Lager persondatasett
create-dataset befolkning
import db/BEFOLKNING_KOMMNR_FORMELL 2024-01-01 as kommune
import db/NUDB_BU 2023-08-01 as utdanning
import db/REGSYS_ARB_YRKE_STYRK08 2023-11-16 as yrke
import db/INNTEKT_LONN 2022-12-31 as lønn
import db/BEFOLKNING_FOEDSELS_AAR_MND as fdato

generate fylke = substr(kommune,1,2)
generate utdanningsnivå = substr(utdanning,1,1)
generate alder = 2024 - int(fdato/100)


// Lager personbildatasett
create-dataset personbiler
import db/KJORETOY_KJT_GRUP 2023-12-31 as kjøretøygruppe
import db/KJORETOY_KJORETOYID_FNR 2023-12-31 as idnr
tabulate kjøretøygruppe
keep if kjøretøygruppe == '101'

// Aggregerer til individnivå og finner antall personbiler per individ
collapse (count) kjøretøygruppe -> ant_personbiler, by(idnr)

// Kobler opplysning om antall personbiler på persondatasettet
merge ant_personbiler into befolkning


// Bruker persondatasettet til å lage statistikk over antall personbiler per individ
use befolkning

destring utdanningsnivå
recode utdanningsnivå (0/3 = 1 'Ikke fullført VG')(4/5 = 2 'Videregående utdanning')(6 = 3 'Lavere UH-utdanning')(7 = 4 'Høyere UH-utdanning (mastergradsnivå)')(8 = 5 'Forskerutdanning')(9 = 6 'Uoppgitt')

// Kloner variabel for antall personbiler, og slår sammen antall over 2 til samlet kategori for den ene variabelen
clone-variables ant_personbiler -> ant_personbiler_raw
recode ant_personbiler (missing = 0 'Ingen')(3/max = 3 '>')
recode ant_personbiler_raw (missing = 0 'Ingen')

textblock
Totalpopulasjonen fordelt på antall personbiler og tall for personer innen hhv. lederyrker ('1') og yrker uten særlig krav til utdanning ('9')
endblock
tabulate ant_personbiler
piechart ant_personbiler
piechart ant_personbiler if substr(yrke,1,1) == '1'
piechart ant_personbiler if substr(yrke,1,1) == '9'

textblock
Antall personbiler per person fordelt på utdanningsnivå
endblock
tabulate utdanningsnivå ant_personbiler, rowpct missing
piechart ant_personbiler if utdanningsnivå == 1
piechart ant_personbiler if utdanningsnivå == 2
piechart ant_personbiler if inrange(utdanningsnivå,3,5)
barchart(mean) ant_personbiler_raw, over(utdanningsnivå)

textblock
Gjennomsnittlig årslønn og alder fordelt på antall personbiler
endblock
barchart(mean) lønn, over(ant_personbiler)
barchart(mean) alder, over(ant_personbiler)


//Lager geografiske inndelinger

define-labels fylkelbl '03' Oslo '11' Rogaland '15' 'Møre og Romsdal' '18' Nordland '31' Østfold '32' Akershus '33' Buskerud '34' Innlandet '39' Vestfold '40' Telemark '42' Agder '46' Vestland '50' Trøndelag '55' Troms '56' Finnmark
assign-labels fylke fylkelbl

//Kloner kommunevariabel og trekker ut storbyer fra den ene variabelen (resten plasseres i samlet kategori)
clone-variables kommune -> storby
replace storby = '9999' if !inlist(storby,'0301','1103','3201','3301','4204','4601','5001','5501')
recode storby ('9999' = '9999' 'Øvrige kommuner')

textblock
Antall personbiler per person fordelt på bosted, og topp 10 kommuner rangert etter andel individer som ikke eier personbil
endblock
tabulate fylke ant_personbiler, rowpct rowsort(0)
barchart(mean) ant_personbiler_raw, over(fylke)

tabulate kommune ant_personbiler, rowpct rowsort(0) bottom(10)
tabulate storby ant_personbiler, rowpct rowsort(0)
barchart(mean) ant_personbiler_raw, over(storby)